Building a classifier capable of determining a plant's species from a photo

Seperating train Classes and images

Model Building

I Supervised Learning

1. SVM

2. Random Forest

3. Decision Tree

II Neural Network

III CNN

I Supervised Learning

1. SVM

I Supervised Learning

2. Random Forest

I Supervised Learning

3. Decision Tree

II Neural Network

III CNN

From the table it is clear that CNN model using ADAM as optimizer gives the best accuracy of all models

But CNN model using SGD optimizer also gives considerable accuracy

Explain in depth why CNN out performs neural networks which in turn out perform supervised learning models when it comes to image classification. Use the markdown option in Jupiter for your answer.

It is easy to use as it does not need much image processing unlike than Artificial Neural Network

The CNN Model just need to convert image format to array and normalize the pixel values

The Convolution Layer is a kernel which is spatially smaller than an image but has more details in-depth.

The Pooling Layer helps in reducing the spatial size of the representation(output), which decreases the required amount of computation and weights.

Fully Connected Layer as usual have full connectivity with all neurons in the preceding and succeeding layers